package com.aviatorscript.aviatorscript.dto;

import lombok.Data;

import java.time.LocalDateTime;
import java.util.List;

/**
 * 转换规则DTO类
 * 用于前端与后端的数据传输
 */
@Data
public class TransformRuleDTO {

    /**
     * 规则ID - 更新时必传
     */
    private Long id;

    /**
     * 规则编码 - 唯一标识，用于接口调用
     */
    private String ruleCode;

    /**
     * 规则名称
     */
    private String ruleName;

    /**
     * 源类型完整类名
     */
    private String sourceType;

    /**
     * 目标类型完整类名
     */
    private String targetType;

    /**
     * 规则描述
     */
    private String description;

    /**
     * 是否启用
     */
    private Boolean enabled;

    /**
     * 版本号
     */
    private Integer version;

    /**
     * 执行次数统计
     */
    private Long executeCount;

    /**
     * 最后执行时间
     */
    private LocalDateTime lastExecuteTime;

    /**
     * 创建时间
     */
    private LocalDateTime createTime;

    /**
     * 更新时间
     */
    private LocalDateTime updateTime;

    /**
     * 创建者
     */
    private String creator;

    /**
     * 更新者
     */
    private String updater;

    /**
     * 字段映射规则列表
     */
    private List<FieldMappingRuleDTO> fieldMappingRules;
} 